The present invention relates generally to a method and software for rendering an image in computer and graphics hardware memory that is color-coded to indicate areas visible or not visible to observers at known locations. In particular, the present invention saves the color-coding information as a 2D texture image in graphics hardware memory and composites this 2D image over the 3D scene in the 3D window at a frame rate that enables real-time updating of the color coding as the scene is translated or rotated or the viewpoints are changed.
Previous methods for determining lines-of-sight (LOS) and viewsheds have various disadvantages.
Prior methods are limited to one sniper or viewpoint. In a combat environment there are often many snipers, look-outs, and adversaries whose viewsheds must be known. Prior systems are also limited to a stationary sniper, target, or observer. In reality, targets and snipers change positions often. Protectees and other potential targets such as vehicles move through terrain and threats need to be evaluated at every point along a route.
Prior methods require that terrain surfaces be displayed only from directly above. There is no three-dimensional view. These methods color code only surfaces visible from directly above the scene. While this is a fast technique, it provides no information about walls, doors, windows, or any vertical or near-vertical surfaces that may be within an observer's field of view.
Prior methods work only with Digital Elevation Models (DEM). These are simple elevation fields that show only the surface of a terrain (much like an inverted muffin tin). DEM's are elevation values that are obtained from directly above a terrain by aircraft or satellites. No spatial information is available for true three-dimensional features such as building interiors, tunnels, caves, or areas under trees, bridges, and overhangs.
Prior methods color code only ground surfaces that are in the direct line-of-sight from a viewpoint. This can be misleading and dangerous. This information only shows where a sniper can see the ground or the surface of a rooftop, for example. Uncolored areas may be interpreted as safe when, in fact, they may not be. For example, a sniper may not be able to see the ground surface on which a target stands but he may be able to see all of the target above his knees. Old methods do not provide this information.
Prior methods use ray tracing to show a limited number of rays emanating from a viewpoint. These are usually in one horizontal plane through the viewer's eyes. This is unsatisfactory. The entire three-dimensional field of view needs to be known.